*Model 1
logit concessions bureaucratization marginsofvictory violence nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget, cl(statename)

margins, at(bureaucratization =(1, 2.46) (medians) violence nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget (means)  marginsofvictory  (asobserved)bureaucratization )
margins, at(violence =(0, 1) (medians)  nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget (means) bureaucratization marginsofvictory  (asobserved)violence )
margins, at(nonviolentdisruption =(0, 1) (medians)  violence  hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget (means) bureaucratization marginsofvictory  (asobserved)nonviolentdisruption )
margins, at( stateeliteprotester=(0, 1) (medians)  violence nonviolentdisruption hundredplusreported electoraldemands lengthatconcession  nationalgovttarget (means) bureaucratization marginsofvictory  (asobserved)stateeliteprotester )
margins, at( electoraldemands=(0, 1) (medians)  violence nonviolentdisruption hundredplusreported lengthatconcession   stateeliteprotester (means) bureaucratization marginsofvictory  (asobserved)electoraldemands )


*Model 2 
logit concessions taxation marginsofvictory violence nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget, cl(statename)

margins, at(taxation =(.061, 1.069) (medians) violence nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget (means)  marginsofvictory  (asobserved)taxation )
margins, at(violence =(0, 1) (medians)  nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget (means) taxation marginsofvictory  (asobserved)violence )
margins, at(nonviolentdisruption =(0, 1) (medians)  violence  hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget (means) taxation marginsofvictory  (asobserved)nonviolentdisruption )
margins, at(stateeliteprotester=(0, 1) (medians)  violence nonviolentdisruption hundredplusreported electoraldemands lengthatconcession  nationalgovttarget (means) taxation marginsofvictory  (asobserved)stateeliteprotester )
margins, at(electoraldemands=(0, 1) (medians)  violence nonviolentdisruption hundredplusreported lengthatconcession   stateeliteprotester (means) taxation marginsofvictory  (asobserved)electoraldemands )

*Model 3
logit concessioneasyfix bureaucratization marginsofvictory violence nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget, cl(statename) 

margins, at(bureaucratization =(1, 2.46) (medians) violence nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget (means)  marginsofvictory  (asobserved)bureaucratization )
margins, at(violence =(0, 1) (medians)  nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget (means) bureaucratization marginsofvictory  (asobserved)violence )
margins, at(nonviolentdisruption =(0, 1) (medians)  violence  hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget (means) bureaucratization marginsofvictory  (asobserved)nonviolentdisruption )
margins, at(stateeliteprotester=(0, 1) (medians)  violence nonviolentdisruption hundredplusreported electoraldemands lengthatconcession  nationalgovttarget (means) bureaucratization marginsofvictory  (asobserved)stateeliteprotester )
margins, at(electoraldemands=(0, 1) (medians)  violence nonviolentdisruption hundredplusreported lengthatconcession   stateeliteprotester (means) bureaucratization marginsofvictory  (asobserved)electoraldemands )

*Model 4
logit concessioncostly bureaucratization marginsofvictory violence nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget, cl(statename)

margins, at(hundredplusreported=(0, 1) (medians)  violence nonviolentdisruption lengthatconcession electoraldemands stateeliteprotester nationalgovttarget (means) bureaucratization marginsofvictory  (asobserved)hundredplusreported )
margins, at(lengthatconcession =(1, 2, 3) (medians)  violence nonviolentdisruption hundredplusreported electoraldemands stateeliteprotester nationalgovttarget (means) bureaucratization marginsofvictory  (asobserved)lengthatconcession)
margins, at(stateeliteprotester=(0, 1) (medians)  violence nonviolentdisruption hundredplusreported electoraldemands lengthatconcession  nationalgovttarget (means) bureaucratization marginsofvictory  (asobserved)stateeliteprotester )
margins, at(electoraldemands=(0, 1) (medians)  violence nonviolentdisruption hundredplusreported lengthatconcession   stateeliteprotester (means) bureaucratization marginsofvictory  (asobserved)electoraldemands )


*Robustness checks
*Model A: state budget and DF dummy
logit concessions bureaucratization marginsofvictory violence nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget staterevenue dfdummy, cl(statename)

*Model B: PRI dummy
logit concessions bureaucratization marginsofvictory violence nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget prigov, cl(statename)

*Model C and Figure A: interaction effect
logit concessions i.dichbureaucratization##c.marginsofvictory violence nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget, cl(statename)
margins dichbureaucratization, at(marginsofvictory==(.95(7.8)32.2)  (medians) violence nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget) vce(uncond)
marginsplot

*Model D: desafuero protests
logit concessions bureaucratization marginsofvictory violence nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget desafueroprotests, cl(statename)

*Model E: 1000+ protesters
logit concessions bureaucratization marginsofvictory violence nonviolentdisruption lengthatconcession electoraldemands stateeliteprotester nationalgovttarget thousandplusreported, cl(statename)

*Model F: Repressive response 
logit concessions bureaucratization marginsofvictory violence nonviolentdisruption hundredplusreported lengthatconcession electoraldemands stateeliteprotester nationalgovttarget repressiveresponse, cl(statename)
